3 Month Calendar 1.0 (All Rights Reserved) by Bryan Maskrey 9/29/94 The 3 Month Calendar is a Visual Basic 3.0 for Windows application called by any other windows application to select a date. It is a calendar that upon entry displays the current month as well as the previous and next month. Once in the program a scroll bar to the right will scroll through the months. Clicking on the scroll bar arrows cause a 1 month change and clicking between the arrow and the thumbnail causes a 1 year change. Selecting a date will then write the date to the WIN.INI file where your application can read the date as a string. Closing the window without selecting a date will cause the program to write a zero length string to the the WIN.INI file. The calendar gives you a 20 year range centered on the current date and also calculates the leap years. ========================================================================= Setup and Use 1. Copy the THREED.VBX files to the windows system directory. 2. Make sure you have VBRUN300.DLL in your system directory. (You can download this file form compuserve if you dont have it already) 3. Call the 3MCAL.EXE file from your application. 4. Once 3MCAL.EXE is closed read the '3mdate=' entry in section [3MonthCalendar] of the WIN.INI file for the date string. Notes: Calling the program the first time will create the entries in the WIN.INI file automatically. The window will display as a system modal window. This means all applications will stop until you close the window. You will need to write a loop to check for 3MCAL.EXE closing to know when to read the date out of WIN.INI. (See folowing example) ======================================================================== VB Example Declare the windows API GetProfileString and FindWindow functions in a module or form declarations section as follows. (Make sure you use the ByVal keyword and put the whole declare statement on one line not on multiple lines as follows) Declare Function GetProfileString Lib "Kernel" (ByVal lpAppName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer) As Integer Declare Function FindWindow Lib "User" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Integer Add the folling to a program event. (Make sure you dim the return string * 10 or the function may cause a Error) Dim result As Integer Dim retstr As String * 10 result = Shell("c:\develop\3mcal\3mcal.exe", 1) Do result = FindWindow(0&, "Calendar") DoEvents Loop Until result = 0 result = GetProfileString("3MonthCalendar","3MDate","",retstr,Len(retstr)) MsgBox retstr The date will be returned in Retstr ======================================================================== Packing List 3MCAL.ZIP 1. 3MCAL.EXE 2. THREED.VBX 3. README.TXT (The file you're reading). ====================================================================== The 3 Month Calendar is shareware. You may distribute it as long as you distribute all the files together. Please send any sugggestions for improvement to Bryan Maskrey C/O John Kukuda at Compuserve ID 70003,5375. To register, please send $5 per user to: Bryan Maskrey 2802 Falling Leaves Drive Valrico, FL 33594 Thanks for trying 3 Month Calendar. Disclaimer of Warranty THIS SOFTWARE AND THE ACCOMPANYING FILES ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. ANY LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.